home *** CD-ROM | disk | FTP | other *** search
/ Atari Mega Archive 1 / Atari Mega Archive - Volume 1.iso / lists / gem / l_1199 / 1101 < prev    next >
Encoding:
Internet Message Format  |  1994-08-27  |  12.6 KB

  1. Date: Thu, 28 Jul 1994 12:20:36 -0400 (EDT)
  2. From: Timothy Miller <millert@cs.csee.usf.edu>
  3. Subject: Re: Gem List
  4. To: gem-list@world.std.com
  5. In-Reply-To: <71940728015817/0006795560PK1EM@mcimail.com>
  6. Message-Id: <Pine.3.87.9407281235.A14224-0100000@grad>
  7. Mime-Version: 1.0
  8. Precedence: bulk
  9.  
  10.  
  11.  
  12. On Wed, 27 Jul 1994, Daniel J. Hollis wrote:
  13.  
  14. > Subject:  GEM, etc.
  15. > Whomever (again; I think this is the same one I answered too...):
  16. > ----------------------------------------------------------------- 
  17. > > Well, after much thought, I have decided to abandon the German 
  18. > > user-interface attitude of so overloading the interface with [sometimes 
  19. > > marginally useful] features that the program becomes unusable.
  20. > Care to tell us *exactly* which 'marginally useful' features you mean?
  21.  
  22. Any features which make the display confusing, overload the user with too 
  23. many options to choose from, or simply wouldn't get used, yet it's included.
  24.  
  25. > > I see absolutely no point in going through all the trouble of adding 
  26. > > countless features and options, 90% of which will not be used in any 
  27. > > particular situation.  I want a window-library that makes my life easy 
  28. > > with documentation that takes me less than a week to read and understand, 
  29. > > well-commented, readable code, and simple bindings.
  30. > Care to elaborate on *exactly* which "90%" will not be used? I hope you're
  31. > not talking about stuff like dialogs in windows, background button
  32. > activation, and listboxes. Those are *essential* to a good windowing library.
  33. > Abandon those and you abandon any point in writing a library at all.
  34.  
  35. The Germans seems to have this tendancy toward making the user interface 
  36. as complicated as possible.  They will give the user too many options.  
  37. Perhaps 90% was an exageration... perhaps not.
  38.  
  39. > In terms of complexity, you can write a fully working GEM program that
  40. > lets you put dialogs in windows, move them around, close them, iconify
  41. > them, click buttons in background, etc. with only about 10 lines of code
  42. > (using XAES).
  43.  
  44. You can with my library too.  I'm sure you can with any of our 
  45. libraries.  It makes sense to have all that built in.
  46.  
  47. > Simple bindings: #include <xaes.h>
  48. > Difficult, eh?
  49.  
  50. Bindings:  the function calls you use and what parameters are passed.
  51.  
  52. > XAES's documentation includes lots of examples, something that lots of other
  53. > libraries documentation fail to include. Maybe it's time they should start.
  54.  
  55. I am a technical writer and technical editor.  I am a fanatic about 
  56. making certain that documentation is good.  Mine will be good.
  57.  
  58. > > I see no point in absolutely abandoning the GEM style.  It makes sense to 
  59. > > make some modifications, yet some of the things you people are talking 
  60. > > about like sending key-presses to a background window are not only hard 
  61. > > to implement and counter-intuitive, but possibly DANGEROUS.  I will not 
  62. > > send keypresses to a background window, and unless it's absolutely 
  63. > Nobody should *ever* send keypresses to anything but the window under
  64. > current focus. It is *incredibly* confusing to do otherwise. Just flip
  65. > this option on in some X11 window manager and you'll learn really damn
  66. > quick to hate it (as well as auto-window topping.. this is a totally
  67. > STUPID idea!)
  68.  
  69. Some times it's OK once you get used to it, but not for GEM.
  70.  
  71. > By the way, I'm not sure what you mean by 'abandoning the GEM style'. There
  72. > really is none! There is almost no consistency in GEM user interfaces,
  73. > the way things work under different versions of TOS, etc.
  74.  
  75. I'm talking about abandoning the way GEM functions.  For example, the 
  76. closer should not pop up a menu (except in circumstances where it's 
  77. really useful, but let's not make a habbit of it).  This change in style 
  78. will do nothing but confuse and frustrate the user because he has to 
  79. contend with another dialog.
  80.  
  81. And too much stuff involving the background windows will also just be 
  82. confusing.
  83.  
  84. > I thought what we were trying to do here is establish *standards*, but if
  85. > you're content on living with *no* standards, go right ahead.
  86.  
  87. I didn't say I wanted NO standards.  I want UNCONFUSING and SAFE 
  88. standards.  I'd think you'd have realized that by now.
  89.  
  90. > > necessary, I don't see any point in sending mouse-clicks to a background 
  91. > > window either.  It's just not GEM and it will only confuse and frustrate 
  92. > > people.
  93. > Cop out. It's simple to do, a great convenience to the user as well. It
  94. > will frustrate people more if they have to top every damn window just to
  95. > use its gadgets, or if they have to induce hand cramps to drag a background
  96. > window. If a user has more than 5 or 6 windows up, your interface will only
  97. > get in the way and hamper the user, something a library should NEVER do.
  98.  
  99. I KNOW it's simple to do.  Even under normal TOS, my library already has 
  100. the option to do that... for the dialogs anyway.  I use it for tool boxes.
  101.  
  102. > > I see no point in screwing with GEM's top-window-had-focus method.  A 
  103. > > tool bar in a background window doesn't, as far as I'm concerned, have 
  104. > > focus when you click on it, so it's just fine with me.  I do not like 
  105. > > giving focus to anything other than the top window.  The X-windows method 
  106. > > is OK, but we're not using Xwindows... we're using GEM.  Don't forget that.
  107. > Fine, be content living in 1985. The rest of the world will leave you behind,
  108. > along with MS-DOS 3.3.
  109.  
  110. If living in 1985 lets me get more work done faster and easier, then so 
  111. be it.  I'm not one to hold back progress, but if this 'progress' is 
  112. radical to the point that it only makes things more confusing and harder 
  113. to work with, then I don't want it!
  114.  
  115. > > I want users to like my applications.  I want users to be able to use my 
  116. > > applications.  Therefore, I will give the user only what he needs to be 
  117. > > able to accomplish his task effectively.
  118. > Sounds like you really mean 'programmer' here rather than 'user'.
  119. > And if your interface is so primitive that no user will ever want to use
  120. > it, what's the point? Nobody will want to use a library that is going to
  121. > be too restrictive on the programmer and user.
  122.  
  123. Both, but the user is more important than the programmer in many cases.  
  124. If the user is happy, then the programmer makes money, even if it took 
  125. him an extra few hours.  I realise this could be used in support of the 
  126. app-defs file, but I have other reasons I don't like it.
  127.  
  128. > > With that, I have to ask what is in some of these other libraries that 
  129. > > take up over 200k?  Loads and loads of more features.... most of which 
  130. > > someone looking to get work done would never use.
  131. > And that only get linked in if you use them. Some people don't seem to
  132. > understand that even if a library is 400k, applications aren't necessarily
  133. > going to be large. Only if you use things will they get linked in. It just
  134. > means that with that particular library, you have more options to choose
  135. > from -- a larger 'toolbox' so to speak.
  136.  
  137. Well, I break my library down into a few seperate .C files and the 
  138. programmer can pick which ones he wants.  I'm sure that's what most of us do.
  139.  
  140. > The test application for XAES that excercises the basic library functionality
  141. > (dialogs in windows, iconifiable windows, background buttons, etc. etc.)
  142. > only takes about 50k. That's for the full compiled application. That's not
  143. > so big is it?
  144.  
  145. I don't know if it's big.  I don't know what it does.  Let me put it this 
  146. way... if mine does the same amount or more and it's smaller, than yours 
  147. it too big.  We'll see.
  148.  
  149. > > My library will continue to grow, but I doubt it will grow to more than 
  150. > > 50k, and I will always strive to make it simpler and simpler to use while 
  151. > > it gets more and more powerful.
  152. > Kind of a contradiction here ;-) By limiting the size to 50k, you more or
  153. > less limit what you can do with the library. At some point you will hit
  154. > a brick wall.
  155.  
  156. I'm not LIMITING it to 50k.  Why don't you read it again?  I said, "...I 
  157. doubt it will grow to more than 50k...."  This means it probably won't, 
  158. but if it does, no biggie.  I'll have a good reason for it.  :)
  159.  
  160. > > ]No, you just convert the WF_TOPPED message to button clicks.  You
  161. > > ]can't do drags and such under normal TOS from a background window, unless
  162. > > ]you use the right button.
  163. > > Am I not getting my point across?  I want to do drags in background 
  164. > > windows in normal TOS.  I KNOW how to convert WF_TOPPED messages into 
  165. > > button clicks.  I'm already doing it!  I want to do drags too.
  166. > Ok, then use XAES. We allow you to drag/resize/scroll/close/etc windows in
  167. > the background under normal TOS, even TOS 1.0.
  168.  
  169. How do you do this?  HOW?  You can't get anything other than WM_TOPPED 
  170. messages to background windows under normal TOS.
  171.  
  172. Oh, but you're replacing parts of AES, aren't you.  Vector-stealing.  
  173. Icky.  Isn't the exception stack frame different on the 68030 compared to 
  174. the 68000?
  175.  
  176. > > BTW, I'm using a Falcon 030.
  177. > You could be using a 68040, what has this got to do with the discussion?
  178.  
  179. This wasn't directed at you.  It was directed at Evan.
  180.  
  181. > > ]As to where to put it, no one has even agreed to the above.  They are
  182. > > ]still arguing about ^A and trying to vote on it.  Damn stupid to vote
  183. > > ]on ^A when you can configure it instead.
  184. > > It's not stupid.  For one thing, I do not like the config file.  
  185. > Because it requires a little effort to implement?
  186.  
  187. A LITTLE?  Are you kidding?  First I'm going to have to decode the file, 
  188. then I'm going to have to translate the codes into what gets displayed, 
  189. then I'm going to have to figure out where (and in what character space) 
  190. to put them into my menus, then I'm going to have to scan my list every 
  191. time the user presses a key, and on top of that, I'm probably going to 
  192. have to put up with some brain-dead method of figuring out which key is 
  193. which because someone wants to use hardware scancodes for the Ctrl-Letter 
  194. keys, which makes no sence because it's non-portable.
  195.  
  196. > > Secondly, if anyone uses Ctrl-A for select all, they're going to be in a 
  197. > > mess without a lot of hacking.  It's just TOO EASY to hit Ctrl-A, and I 
  198. > > don't want something as dangerous as Select-All assigned to it.  It's 
  199. > > perfectly logical.
  200. > Instead of the programmer deciding what the user interface should be like,
  201. > why not let the *USER* decide? (Gee, what a neat concept!) Duh!
  202.  
  203. Yeah, sure... and let's make the user spend 5 hours on install, 4 of 
  204. which is for configuration, and the last hour is for copying from floppy 
  205. all the code for all the features that the user turned off.
  206.  
  207. And then when the user wants to use the program, he has to deal with 
  208. XAES, your new user interface with all these new gadgets he's never seen 
  209. before, and spend hours just figuring out how to use the program, and 
  210. then when he wants to change a feature, he has to spend another hour 
  211. tracking it down from all the countless other options you have burried 
  212. somewhere.
  213.  
  214. KISS:  Keep It Simple, Stupid.
  215.  
  216. > > Something dangerously easy to hit like Ctrl-A should have something 
  217. > > totally harmess assigned to it like Redraw-window.
  218. > Wow, ESC and RETURN are dangerously easy to hit, and their results could
  219. > be even more devastating. Let's remove these keys altogether then.
  220. > Why not let the user assume responsibility for their own actions?
  221.  
  222. Cute.  Very cute.  Ctrl-A is the only combination that I have ever hit
  223. accidentally that also caused me catastrophic problems.  Unintentionally
  224. selecting the whole document can cause anything from minor irritation to 
  225. lost data, depending on the rest of the user interface.
  226.  
  227. I am one of many people who have complained about Atari Works wiping out 
  228. their documents when their little finger slips and hits Ctrl and A at the 
  229. same time.  Take a good glance at any English keyboard and you will see 
  230. that the A is right next to Ctrl.  Now, if Ctrl-A did something 
  231. relatively harmess like redrawing the screen, moving the cursor to the 
  232. beginning of the line, pulling up a dialog for some purpose, etc, then I 
  233. would have no problem with it.  But to assign something as dangerous as 
  234. "Select-All" to it is pure lunacy!
  235.  
  236. RETURN and ESC generally do not cause people to lose files.  Ctrl-A has 
  237. many times.
  238.  
  239. You do NOT assign dangerous options to key combinations that are 
  240. FREQUENTLY accidentally hit.  I may be the only one on the GEM-List who 
  241. has this problem, but there are countless others who also have this 
  242. problem, and if the people on the GEM-List are so SHORT SIGHTED that they 
  243. cannot fathom that this might happen to someone, then I start to wonder 
  244. what other judgement errors they will make in the future, causing just as 
  245. much frustration for people and harm to their data.
  246.  
  247. Just because it doesn't happen to you, doesn't mean it doesn't happen to 
  248. you.  If you don't have astygmatism, does that mean that no one else does?
  249.  
  250.  
  251.